/*
 * CUIprogramm.h
 *
 *  Created on: 2011-11-01
 *      Author: pawel
 */

#ifndef CUIPROGRAMM_H_
#define CUIPROGRAMM_H_
#include"../algorithms.h"
#include"../heuristics/fastaAlgParam.h"
#include"../enumTypes.h"
#include"CUIEnums.h"
#include<string>
#include<fstream>
class seqFeederFile;
class CUIprogramm{
protected:
	optAlgThreadParam	optAlgParam;
	fastaAlgParam		fastaParam;
	bool 				optionsValid;
	std::string			message;
	AlphabetType		alphabet;
	Algorithm			algorithm;
	bool 				zScore;
	size_t				optAlgThreads;
	size_t				heurAlgThreads;
	std::ofstream		outFile;
	seqFeederFile		*queryFeeder;

public:
	CUIprogramm(int argc,char *argv[]);
	void runProgramm();
	~CUIprogramm();
};


#endif /* CUIPROGRAMM_H_ */
